package com.softtown.modules.sys.dao;

import com.softtown.common.dao.BaseDao;
import com.softtown.modules.sys.entity.CompSysUserApplEntity;
import com.softtown.modules.sys.vo.UserEmplPermitVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author: Dingyayong
 * @Date: 2019/6/3 17:13
 * @Description:
 */
@Mapper
public interface CompSysUserApplDao extends BaseDao<CompSysUserApplEntity> {

    /**
     * 修改成员申请加入表
     *
     * @param compSysUserApplEntity
     * @return
     * @author Dingyayong
     * @date 2019/6/4 16:40
     */
    void updateComUserAppl(CompSysUserApplEntity compSysUserApplEntity);

    /**
     * 根据公司id和员工id找出申请
     * @param compId
     * @param userId
     * @return com.softtown.modules.sys.entity.CompSysUserApplEntity
     * @Author fuming
     * @Date 2020/5/26 17:38
     */
    CompSysUserApplEntity findByCompIdAndUserId(@Param("compId") Long compId, @Param("userId") Long userId);

    /**
     * 成员加入许可一览
     *
     * @param compId
     * @return
     * @author Dingyayong
     * @date 2019/6/4 15:59
     */
    UserEmplPermitVO permitList(Long compId);

    /**
     * 成员加入许可
     * @param compId
     * @param pram
     * @param beginTime
     * @param endTime
     * @return java.util.List<com.softtown.modules.sys.entity.CompSysUserApplEntity>
     * @Author fuming
     * @Date 2020/5/26 17:38
     */
    List<CompSysUserApplEntity> getUserApplList(@Param("compId") Long compId, @Param("pram") String pram, @Param("beginTime") String beginTime, @Param("endTime") String endTime);

    /**
     * 获取用户加入申请的待处理量
     * @param compId
     * @return
     */
    int getApplCount(Long compId);

}
